﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using Class_BUS;
using Class_DTO;
using System.Windows.Forms;


namespace Project_QuangCaoABC
{
    public partial class frmThongTinQC : Form
    {
        public frmThongTinQC()
        {
            InitializeComponent();
        }
        bool them = false;
        bool update = false;

        private void frmThongTinQC_Load(object sender, EventArgs e)
        {
            //

            
            //
            DataTable dt = new DataTable();
            dt =  Class_BUS.KhachHangBus.LoadDS_KhachHang();
            cmbKhachHang.DataSource = dt;
            cmbKhachHang.DisplayMember = "TenKhachHang";
            cmbKhachHang.ValueMember = "MaKhachHang";

            //
            DataTable bg = new DataTable();
            bg = Class_BUS.BangGiaBUS.LoadDS_BangGia();
            cmbLoaiTinQC.DataSource = bg;
            cmbLoaiTinQC.DisplayMember = "TenLoai";
            cmbLoaiTinQC.ValueMember = "MaLoaiQuangCao";
            //
            comboBox1.DataSource = bg;
            comboBox1.ValueMember = "GiaTien";



            them = false;
            update = false;

            txtMaTinQC.ReadOnly = true;
            txtTenQuangCao.ReadOnly = true;
           // txtChieuDai.ReadOnly = true;
            txtKichThuoc.ReadOnly = true;
           
            txtTrangDang.ReadOnly = true;
            txtSoLan.ReadOnly = true;
            txtNoiDung.ReadOnly = true;
            

            HienThiDS_QuangCao();
           
        }
        public void HienThiDS_QuangCao()
        {
            dGW_DSQC.DataSource = ThongTinQCBUS.LoadDS_QuangCao();
            
        }
        private void xoatext()
        {
            txtMaTinQC.Text = "";
            txtTenQuangCao.Text = "";
            //txtChieuDai.Text = "";
            txtKichThuoc.Text = "";
            txtTrangDang.Text = "";
            txtNoiDung.Text = "";
            txtSoLan.Text = "";
            
        }

        private void btnThem_Click(object sender, EventArgs e)
        {
            xoatext();

            txtMaTinQC.ReadOnly = false ;
            txtTenQuangCao.ReadOnly = false;
            //txtChieuDai.ReadOnly = false;
            txtKichThuoc.ReadOnly = false;
            
            txtTrangDang.ReadOnly = false;
            txtSoLan.ReadOnly = false;
            txtNoiDung.ReadOnly = false;
         

            them = true;            

            btnLuu.Enabled = true;
            btnSua.Enabled = false;
            btnXoa.Enabled = false;
            btnThem.Enabled = false;
        }

        private void btnSua_Click(object sender, EventArgs e)
        {
            btnLuu.Enabled = true;
            if (dGW_DSQC.SelectedRows.Count <= 0)
            {
                MessageBox.Show("Chưa tin quảng cáo", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                txtMaTinQC.ReadOnly = false;
                txtTenQuangCao.ReadOnly = false;
               // txtChieuDai.ReadOnly = false;
                txtKichThuoc.ReadOnly = false;
                
                txtTrangDang.ReadOnly = false;
                txtSoLan.ReadOnly = false;
                txtNoiDung.ReadOnly = false;
                

                btnThem.Enabled = false;
                btnXoa.Enabled = false;
                btnSua.Enabled = false;

                update = true;
            }
        }

        private void btnBoQua_Click(object sender, EventArgs e)
        {
            xoatext();
            btnThem.Enabled = true;
            btnSua.Enabled = true;
            btnXoa.Enabled = true;
            btnLuu.Enabled = true;

            txtMaTinQC.ReadOnly = true;
            txtTenQuangCao.ReadOnly = true;
           // txtChieuDai.ReadOnly = true;
            txtKichThuoc.ReadOnly = true;
           
            txtTrangDang.ReadOnly = true;
            txtSoLan.ReadOnly = true;
            txtNoiDung.ReadOnly = true;
            
        }
        Class_DAO.ThongTinQCDAO thaotac = new Class_DAO.ThongTinQCDAO();

        private void btnLuu_Click(object sender, EventArgs e)
        {
            btnLuu.Enabled = false;
            btnSua.Enabled = true;
            btnThem.Enabled = true;
            btnXoa.Enabled = true;
            try
            {
                if (ValidForm() == false) return;
                if (them) // them
                {
                    string tenqc = txtTenQuangCao.Text;
                    //int chieudai = Convert.ToInt32(txtChieuDai.Text);                    
                    int kichthuoc = Convert.ToInt32(txtKichThuoc.Text);
                    DateTime tungay = dTP_TuNgay.Value ;
                    DateTime denngay = dTP_DenNgay.Value ;
                    int trangdang = Convert.ToInt32(txtTrangDang.Text);
                    int solandang = Convert.ToInt32(txtSoLan.Text);
                    int makh = Convert.ToInt32(cmbKhachHang.SelectedValue.ToString());
                    int mlqc = Convert.ToInt32(cmbLoaiTinQC.SelectedValue.ToString());
                    string noidung = txtNoiDung.Text;
                    ThongTinQCBUS qcBUS = new ThongTinQCBUS();
                    ThongTinQCDTO qcDTO = new ThongTinQCDTO( tenqc,  kichthuoc, tungay, denngay, trangdang, solandang, makh, mlqc, noidung);

                    Class_BUS.ThongTinQCBUS.ThemQuangCao_BUS(qcDTO);
                    HienThiDS_QuangCao();
                    
                    them = false;
                    MessageBox.Show("Thêm thành công", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    
                    return;

                }
                if (update)// sua
                {
                    thaotac.sua(int.Parse(txtMaTinQC.Text), txtTenQuangCao.Text,  int.Parse(txtKichThuoc.Text), Convert.ToDateTime(dTP_TuNgay.Value), Convert.ToDateTime(dTP_DenNgay.Value), int.Parse(txtTrangDang.Text), int.Parse(txtSoLan.Text), Convert.ToInt32(cmbKhachHang.SelectedValue.ToString()), Convert.ToInt32(cmbLoaiTinQC.SelectedValue.ToString()), txtNoiDung.Text);
                    HienThiDS_QuangCao();
                    update = false;
                    MessageBox.Show("Sửa Thành Công.", "Thông Báo!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message,"Thông báo!");
                return;
            }
        }

        private void btnXoa_Click(object sender, EventArgs e)
        {
            //btnXoa.Enabled = false;
            if (dGW_DSQC.SelectedRows.Count <= 0)
            {
                MessageBox.Show("Chưa chọn nhân viên", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                try
                {
                    DialogResult a = MessageBox.Show("Bạn Muốn Xóa Thông Tin Về Khách Hàng Này?", "Cảnh Báo", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                    if (a == DialogResult.Yes)
                    {
                        thaotac.xoa(int.Parse(txtMaTinQC.Text));
                        HienThiDS_QuangCao();
                        MessageBox.Show("Xóa Thành Công", "Thông Báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        xoatext();
                    }
                }
                catch
                {
                    MessageBox.Show("Không thể xóa mã này", "Thông bao");
                }
            }
        }
        private void btnThoat_Click(object sender, EventArgs e)
        {
            this.Close();
        } 
        private void dGW_DSQC_SelectionChanged(object sender, EventArgs e)
        {

            if (dGW_DSQC.SelectedRows.Count > 0)
            {
                txtMaTinQC.Text = dGW_DSQC.SelectedRows[0].Cells[0].Value.ToString();
                txtTenQuangCao.Text = dGW_DSQC.SelectedRows[0].Cells[1].Value.ToString();
               // txtChieuDai.Text = dGW_DSQC.SelectedRows[0].Cells[2].Value.ToString();
                txtKichThuoc.Text = dGW_DSQC.SelectedRows[0].Cells[2].Value.ToString();
                dTP_TuNgay.Text  = dGW_DSQC.SelectedRows[0].Cells[3].Value.ToString ();
                dTP_DenNgay.Text = dGW_DSQC.SelectedRows[0].Cells[4].Value.ToString ();
                txtTrangDang.Text = dGW_DSQC.SelectedRows[0].Cells[5].Value.ToString();
                txtNoiDung.Text = dGW_DSQC.SelectedRows[0].Cells[7].Value.ToString();
                txtSoLan.Text = dGW_DSQC.SelectedRows[0].Cells[6].Value.ToString();
                cmbKhachHang.SelectedText = dGW_DSQC.SelectedRows[0].Cells[8].Value.ToString();
                cmbLoaiTinQC.SelectedText = dGW_DSQC.SelectedRows[0].Cells[9].Value.ToString();
                
            }
        }
        // bat nguoi dung nhap so.
        
        private void txtKichThuoc_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsControl(e.KeyChar) && !Char.IsDigit(e.KeyChar) && e.KeyChar != '.')
            {
                e.Handled = true;
                MessageBox.Show("Bạn phải nhập số", "Thông bao!");
            }
            else
            {
                e.Handled = false;
            } 
        }

        private void txtTrangDang_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsControl(e.KeyChar) && !Char.IsDigit(e.KeyChar) && e.KeyChar != '.')
            {
                e.Handled = true;
                MessageBox.Show("Bạn phải nhập số", "Thông bao!");
            }
            else
            {
                e.Handled = false;
            }
        }

        private void btnTimKiem_KH_Click(object sender, EventArgs e)
        {
            if (txtTimMaTinQC.Text.Trim() == string.Empty)
            {
                MessageBox.Show("Bạn chưa nhập thông tin", "Thông báo");
            }
            else
            {
                dGW_DSQC.DataSource = ThongTinQCBUS.getQuangCao_theoma(Convert.ToInt32(txtTimMaTinQC.Text));
            }
        }
        private void txtTimMaTinQC_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsControl(e.KeyChar) && !Char.IsDigit(e.KeyChar) && e.KeyChar != '.')
            {
                e.Handled = true;
                MessageBox.Show("Bạn phải nhập số chẵn", "Thông báo!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                e.Handled = false;
            } 
        }

        private void txtSoLan_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsControl(e.KeyChar) && !Char.IsDigit(e.KeyChar) && e.KeyChar != '.')
            {
                e.Handled = true;
                MessageBox.Show("Bạn phải nhập số", "Thông bao!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            else
            {
                e.Handled = false;
            } 
        }
        //Thu tinh tien.
        public int dentu()
        {
           
           
            string input = txtNoiDung.Text;
            input = input.Trim(); // xóa các khoảng trắng vô nghĩ ở 2 đầu
            int count = 1;
            for (int i = 1; i < input.Length; i++)
            {
                if (input[i] == ' ' && input[i - 1] != ' ')
                    count++;
            }
            return count;


        }
        
        private void btnTinhTien_Click(object sender, EventArgs e)
        {
            int makh = Convert.ToInt32(comboBox1.SelectedValue.ToString());
            int solandang = Convert.ToInt32(txtSoLan.Text);
 
            int sotu = dentu();
            double tongtien = 0;
            tongtien = sotu * makh * solandang;
            txtTinhTien.Text = tongtien.ToString();
           
        }
        private bool ValidForm()
        {
            try
            {
                if (txtTenQuangCao.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("Bạn phải nhập tên quảng cáo", "Thông báo!");
                    txtTenQuangCao.Focus();
                    btnLuu.Enabled = true;
                    return false;
                }
                if (txtNoiDung.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("Bạn phải nhập nội dung quảng cáo", "Thông báo!");
                    txtNoiDung.Focus();
                    btnLuu.Enabled = true;
                    return false;
                }
                if (txtKichThuoc.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("Bạn phải nhập Size", "Thông báo!");
                    txtKichThuoc.Focus();
                    btnLuu.Enabled = true;
                    return false;
                }
                if (txtTrangDang.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("Bạn phải nhập trang đăng", "Thông báo!");
                    txtTrangDang.Focus();
                    btnLuu.Enabled = true;
                    return false;
                }
                if (txtSoLan.Text.Trim() == string.Empty)
                {
                    MessageBox.Show("Bạn phải nhập số lần đăng", "Thông báo!");
                    txtSoLan.Focus();
                    btnLuu.Enabled = true;
                    return false;
                }
                
                return true;
            }
            catch (Exception ex)
            {               
                return false;
            }
        }
        private void cmbKhachHang_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void cmbLoaiTinQC_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
               
    }
}
